package priv.yiyuan.example.design.wrapper;

/**
 * 简历生成器
 * <p>
 * 建造者模式-指挥者
 *
 * @author YiYuan
 * @data 2025/9/3
 * @apoNote
 */
public class ResumeDirector {

    public Resume constructStandardResume(ResumeBuilder builder) {
        builder.buildBasicInfo("姓名: 张三, 电话: 13898473281");
        builder.buildEducation("2018-2022 A大学 计算机科学与技术 本科");
        builder.buildWorkExperience("2022-至今 B科技公司 软件工程师");

        return builder.build();
    }

    public Resume constructTechnicalResume(ResumeBuilder builder) {
        builder.buildBasicInfo("姓名: 张三, 电话: 13898473281");
        builder.buildEducation("2018-2022 A大学 计算机科学与技术 本科");
        builder.buildWorkExperience("2022-至今 B科技公司 软件工程师");
        builder.buildProjects("在线商城系统开发");
        builder.buildSkills("Java, Spring Boot, MySQL, Vue");

        return builder.build();
    }

    public Resume constructAdvancedResume(ResumeBuilder builder) {
        builder.buildBasicInfo("姓名: 张三, 电话: 13898473281");
        builder.buildEducation("2018-2022 A大学 计算机科学与技术 本科");
        builder.buildWorkExperience("2022-至今 B科技公司 软件工程师");
        builder.buildProjects("在线商城系统开发");
        builder.buildSkills("Java, Spring Boot, MySQL, Vue");

        ResumeElement awardImage = new BorderDecorator(new ImageElement("award_certificate.png"));
        builder.buildAwards(awardImage.render() + " 优秀员工奖");

        ResumeElement publicationText = new HighlightDecorator(new TextElement("深度学习在自然语言处理中的应用"));
        builder.buildPublications(publicationText.render() + " (SCI收录)");

        return builder.build();
    }

}
